package com.club.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.club.entity.PageBean;
import com.club.entity.R;
import com.club.entity.TClub;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author zhangfc
 * @date 2022/12/12 16:54
 */
public interface TClubService extends IService<TClub> {

    /**
     * 社团申请提交
     *
     * @param clubMap 参数
     * @return R
     */
    public R submitClub(Map<String, Object> clubMap);

    /**
     * 查询所有社团信息
     *
     * @return R
     */
    public R listClub(PageBean pageBean);

    /**
     * 社团审核
     *
     * @param id   主键
     * @param type 类型
     * @return R
     */
    public R auditClub(int id, int type);

    /**
     * 根据id 删除社团
     *
     * @param ids id集合
     * @return R
     */
    public R deleteByIds(List<Integer> ids);

    /**
     * 根据用户id查询已参加的社团
     *
     * @param userId 用户id
     * @return R
     */
    public R listClubByUserId(int userId);

    /**
     * 上传社团封面
     *
     * @param file 文件
     * @return R
     */
    R uploadClubImage(MultipartFile file);

    /**
     * 获取当前用户的社团列表
     *
     * @return R
     */
    R listClubByUser(PageBean pageBean);

    /**
     * 根据社团id查询社团详情
     *
     * @param clubId 社团id
     * @return R
     */
    R msgByClubId(int clubId);
}
